package ln.javatest.day06.demo06;
/*
字符串常量池：程序当中直接写上的双引号字符串，就在字符串常量池中。

对于基本类型来说， ==是进行数值的比较。
对于引用类型来说，==是进行【地址值】的比较
双引号直接写的字符串在堆中的常量池当中，new的不在池中，在堆中。
在堆当中有一块区域叫做字符串常量池，字符串常量池中保存的是地址值

*/

public class Demo02StringPool {
    public static void main(String[] args) {
        String str1 = "abc";
        String str2 = "abc";
        char[] charArray = new char[]{'a','b','c'};
        String str3 = new String(charArray);

        System.out.println(str1 == str2); //true
        //str1和str2的字符串是重复利用，所以地址一样，因为都在常量池中
        System.out.println(str1 == str3); //false
        System.out.println(str2 == str3); //false
    }
}
